package com.xuelang.pipeline.artifact.client.resource.dto;

import com.xuelang.pipeline.artifact.client.common.validator.ValidEnum;
import com.xuelang.pipeline.artifact.client.resource.enums.ArtifactToolEnum;
import lombok.Data;


/**
 * 制品仓库查询条件类
 *
 * @author xiwen.zxg
 * @since 2024/5/27
 */
@Data
public class ArtifactToolQuery {

    /**
     * 制品类型，取值范围为:GENERIC/DOCKER/MAVEN/NPM
     */
    @ValidEnum(enumClass = ArtifactToolEnum.ArtifactTypeEnum.class, message = "制品类型不能为空.取值范围为:GENERIC/DOCKER/MAVEN/NPM")
    private String artifactType;
    /**
     * 单选项，制品工具入口填写为TOOL、制品仓库入口填写为ARTIFACT
     */
    //@NotEmpty(message = "数据来源不能为空")
    @ValidEnum(enumClass = ArtifactToolEnum.DataSourceEnum.class, message = "数据来源不能为空.取值范围为:TOOL/ARTIFACT")
    private String dataSource;
    /**
     * 其他多选查询条件，仓库名称、仓库编码、仓库描述
     */
    private String condition;
    /**
     * 开始日期-格式：yyyy-MM-dd
     */
    private String startDate;
    /**
     * 结束日期-格式：yyyy-MM-dd
     */
    private String endDate;

}
